📘 Capítulo 8: Segurança de SO e Aplicações

Resumo Completo
🎯 CONCEITOS MAIS IMPORTANTES PARA PROVA:

1️⃣ Hardening de Sistemas Operacionais

Conceitos Fundamentais

Áreas de Hardening

🔌 Interfaces e Portas

  • Desabilitar interfaces de rede não utilizadas
  • Desabilitar serviços desnecessários
  • Bloquear portas não utilizadas

💾 Armazenamento

  • Full Disk Encryption (BitLocker, FileVault)
  • Criptografia de mídia removível
  • VPNs para transmissão de dados

Gerenciamento de Patches

Técnicas de Hardening

2️⃣ Segurança de Sistema de Arquivos

Permissões Linux vs Windows

Linux Windows
Read (r), Write (w), Execute (x) Permissões Share (acesso via rede)
Contextos: owner (u), group (g), others (o) Permissões NTFS (locais e rede, granulares)
chmod 755 = rwxr-xr-x Permissões efetivas = mais restritiva entre Share e NTFS
# Linux - Exemplos de chmod
chmod 755 arquivo # rwxr-xr-x
chmod u+x arquivo # adiciona execute para owner
chmod g-w arquivo # remove write do grupo

Protocolos de Transferência Segura

Protocolo Descrição
FTP Não seguro (cleartext), usar com IPSec ou VPN
TFTP Sem autenticação ou criptografia
SCP Usa SSH1 para transferências seguras
SFTP Usa SSH2 (NÃO é FTP sobre SSH)
FTPS FTP com SSL/TLS

3️⃣ Segurança de Host Linux

Proteção de Portas Físicas

Hardening de Sistema Linux

📦 Remover Software

yum list installed
apt list --installed
yum erase pacote
apt remove pacote

🔍 Serviços Ativos

systemctl --type=service --state=active
systemctl disable servicename
systemctl stop servicename

iptables (Firewall Linux)

Cadeias (Chains):

Ações:

sudo iptables -L # Listar regras
sudo iptables -F # Limpar regras
sudo iptables -A INPUT -s 192.168.0.254 -j DROP # Bloquear IP
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT # Permitir HTTP

4️⃣ Segurança Wireless

Padrões de Segurança Wi-Fi

Padrão Características
WPA1 RC4 com TKIP (substituiu WEP), vulnerável
WPA2 AES com CCMP (128-bit). Personal (PSK) e Enterprise (RADIUS). Vulnerável ao ataque de 4-way handshake
WPA3 SAE substitui PSK, Enhanced Open, AES GCMP, Perfect Forward Secrecy, Wi-Fi Easy Connect (QR code)
⚠️ WPS (Wi-Fi Protected Setup): Vulnerável a ataques de força bruta. DESABILITAR!

Métodos de Autenticação

🔑 Personal

  • PSK: Passphrase de 8-63 caracteres
  • SAE (WPA3): Password-Authenticated Key Exchange

🏢 Enterprise (802.1X)

  • RADIUS + EAP
  • PEAP: EAP em túnel SSL/TLS
  • EAP-TLS: mais seguro (certificados cliente/servidor)
  • EAP-TTLS: requer apenas certificado servidor

5️⃣ Ataques Wireless

Principais Ataques

Ataque Descrição
Evil Twin Rogue AP imitando rede legítima, usa jamming/deauth para forçar reconexão
KRACK Ataque ao 4-way handshake WPA/WPA2. Manter clientes/APs atualizados
Deauth/Disassociation Exploita frames de gerenciamento não criptografados, desconecta usuários
IV Attack WEP reutiliza IVs (24-bit), quebrado em minutos - NÃO USAR WEP
Jamming Interferência em frequências de rádio (spark, random noise, random pulse)
Rogue AP AP instalado sem autorização, cria backdoor. Detecção: WIPS, analisadores Wi-Fi

Ataques Bluetooth

6️⃣ Métodos de Autenticação e Acesso

802.1X (Port-based Network Access Control)

Funcionamento:

  1. Host conecta a porta 802.1X
  2. Switch abre porta apenas para EAPoL
  3. Switch recebe EAP com credenciais (criptografadas)
  4. Switch encapsula em RADIUS e envia ao servidor
  5. Servidor valida credenciais
  6. Se sucesso, servidor envia Access-Accept
  7. Switch libera acesso completo à rede

Air-Gapped

7️⃣ Protocolos Seguros

SSH (Secure Shell)

ssh bobby@10.1.0.10 # Conectar
ssh-keygen -t rsa # Gerar par de chaves
ssh-copy-id bobby@10.1.0.10 # Copiar chave pública
scp bobby@10.1.0.10:/logs/audit.log . # Copiar arquivo

HTTPS vs S-HTTP

HTTPS S-HTTP
HTTP + SSL/TLS Alternativa não amplamente usada
Criptografa dados sensíveis Menos seguro que HTTPS
Porta 443, stateful Connectionless
Ícone de cadeado no navegador Apenas segurança de mensagem

8️⃣ IPsec e VPNs

Protocolos IPsec

🔐 AH (Authentication Header)

  • Hash criptográfico em todo pacote + chave secreta
  • ICV (Integrity Check Value) no header
  • NÃO fornece confidencialidade (payload não criptografado)

🔒 ESP (Encapsulating Security Payload)

  • Criptografa o pacote
  • Header, Trailer, ICV
  • ICV exclui IP header

Modos de Operação

IKE (Internet Key Exchange)

9️⃣ Ataques a Aplicações Web

Tipos de Ataques

Ataque Descrição
Buffer Overflow Mais dados que o buffer suporta, acesso a áreas de memória desprotegidas
Race Condition (TOCTTOU) Time-Of-Check to Time-Of-Use, atacante age entre check e use
Memory Leak Memória alocada não liberada, causa DoS
Replay Attack Tráfego interceptado e retransmitido. Mitigação: timestamps, nonces
Pass the Hash Usa hash para acessar outras workstations. Mitigação: desabilitar RDP, contas separadas
SSL Stripping Remove segurança de sites HTTPS. Mitigação: HSTS preload

Improper Input Handling

Falta de validação, sanitização, filtragem pode levar a:

🔟 SDLC e Desenvolvimento Seguro

Modelos de Desenvolvimento

💧 Waterfall (Cascata)

  • Requirements → Design → Implementation → Testing → Deployment → Maintenance
  • Cada etapa completa antes da próxima
  • Processo lento, pouca flexibilidade

🔄 Agile (Ágil)

  • Sprints de 2-3 semanas
  • Desenvolvimento contínuo e mutável
  • Testes durante todo ciclo

Métodos de Testes de Segurança

Método Características
SAST White box, analisa código fonte, início do processo, identifica causa exata, alto falso positivo
DAST Black box, escaneia app em execução, não específico de linguagem, menos falso positivo
IAST Interativo, combina SAST e DAST, identifica linha de código problemática em runtime
Fuzz Testing Fornece dados inválidos/aleatórios aos inputs (mutation-based, generation-based)

Sandboxing

1️⃣1️⃣ Codificação Segura

Técnicas

📦 Code Reuse

Reutilizar código testado, mas testar comprehensivamente antes de permitir

💀 Dead Code

Código não executado ou obsoleto - REMOVER! Se não existe, não pode ser explorado

🕵️ Code Obfuscation

Criar código difícil de entender, prevenir engenharia reversa (não é segurança forte)

📝 Stored Procedures

Instruções SQL armazenadas, limitam ataques de injection

Secure Cookies

Code Signing

⚠️ IMPORTANTE: Code signing NÃO garante segurança do código! Apenas certifica origem e integridade.

1️⃣2️⃣ Hardening de Aplicações

Diretrizes Básicas

Técnicas Específicas

Validação de Entrada

💡 DICAS FINAIS PARA PROVA: